insert overwrite table jms_dm.dm_cusc_demand_sign_taking_waybill_detail_dt partition (dt)
select waybill_no                                                          -- 运单号
     , taking_early_scansitecode                                           -- 最早揽收网点
     , taking_early_scansite_name                                          -- 最早揽收网点名称
     , taking_agent_name                                                   --揽收网点对应的代理区code
     , taking_agent_code                                                   --揽收网点对应的代理区名称
     , taking_fran_code                                                    --揽收网点对应的加盟商code
     , taking_fran_name                                                    --揽收网点对应的加盟商名称
     , taking_provider_id                                                  --揽收网点对应的省id
     , taking_provider_desc                                                --揽收网点对应的省名称
     , taking_city_id                                                      --揽收网点对应的城市id
     , taking_city_desc                                                    --揽收网点对应的城市名称
     , sign_early_scansitecode                                             -- 第一次签收网点code
     , sign_early_scansite_name                                            -- 第一次签收网点名称
     , sign_agent_name                                                     --签收网点对应的代理区code
     , sign_agent_code                                                     --签收网点对应的代理区名称
     , sign_fran_code                                                      --签收网点对应的加盟商code
     , sign_fran_name                                                      --签收网点对应的加盟商名称
     , sign_provider_id                                                    --签收网点对应的省id
     , sign_provider_desc                                                  --签收网点对应的省名称
     , sign_city_id                                                        --签收网点对应的城市id
     , sign_city_desc                                                      --签收网点对应的城市名称
     , deliver_early_scansitecode                                          -- 第一次派件网点code
     , deliver_early_scansite_name                                         -- 第一次派件网点名称
     , customer_code                                                       -- 客户编号CODE
     , customer_name                                                       -- 客户编号名称
     , sign_early_scantime                                                 -- 第一次签收时间
     , receiver_mobile_phone                                               -- 收件人手机号
     , wide_staff_no                                                       --宽表员工编码
     , wide_staff_name                                                     --宽表员工名称
     , delivery_staff_code
     , delivery_option                                                     -- 派送选项 1、派送上门  2、放驿站  3、未接
     , delivery_input_time                                                 -- 入库时间
     , staff_no                                                            -- 员工编号
     , staff_name                                                          -- 员工名称
     , call_start_time                                                     -- 开始时间
     , duration_seconds                                                    -- 通话时长（秒）
     , connect_status                                                      -- 0未接通 1已接通本方挂断 2已接通对方挂断
     , is_need_call_num
     , is_have_call_num
     , is_gt6_seconds
     , is_performance
     , max(is_performance) over (partition by receiver_mobile_phone) as max_is_performance
     , '{{ execution_date | cst_ds }}'                                           as dt -- 第一次签收时间
from (
         select waybill_no                                -- 运单号
              , taking_early_scansitecode                 -- 最早揽收网点
              , taking_early_scansite_name                -- 最早揽收网点名称
              , taking_agent_name                         --揽收网点对应的代理区code
              , taking_agent_code                         --揽收网点对应的代理区名称
              , taking_fran_code                          --揽收网点对应的加盟商code
              , taking_fran_name                          --揽收网点对应的加盟商名称
              , taking_provider_id                        --揽收网点对应的省id
              , taking_provider_desc                      --揽收网点对应的省名称
              , taking_city_id                            --揽收网点对应的城市id
              , taking_city_desc                          --揽收网点对应的城市名称
              , sign_early_scansitecode                   -- 第一次签收网点code
              , sign_early_scansite_name                  -- 第一次签收网点名称
              , sign_agent_name                           --签收网点对应的代理区code
              , sign_agent_code                           --签收网点对应的代理区名称
              , sign_fran_code                            --签收网点对应的加盟商code
              , sign_fran_name                            --签收网点对应的加盟商名称
              , sign_provider_id                          --签收网点对应的省id
              , sign_provider_desc                        --签收网点对应的省名称
              , sign_city_id                              --签收网点对应的城市id
              , sign_city_desc                            --签收网点对应的城市名称
              , deliver_early_scansitecode                -- 第一次派件网点code
              , deliver_early_scansite_name               -- 第一次派件网点名称
              , customer_code                             -- 客户编号CODE
              , customer_name                             -- 客户编号名称
              , sign_early_scantime                       -- 第一次签收时间
              , receiver_mobile_phone                     -- 收件人手机号
              , wide_staff_no                             --宽表员工编码
              , wide_staff_name                           --宽表员工名称
              , delivery_option                           -- 派送选项 1、派送上门  2、放驿站  3、未接
              , delivery_staff_code
              , staff_no                                  -- 员工编号
              , staff_name                                -- 员工名称
              , call_start_time                           -- 开始时间
              , delivery_input_time                       -- 入库时间
              , duration_seconds                          -- 通话时长（秒）
              , connect_status                            -- 0未接通 1已接通本方挂断 2已接通对方挂断
              , max(is_need_call_num) as is_need_call_num -- 1代表应电联量(当天签收的运单中是按需配送的 )(和订单打标拓展表join之后,所有的数据都是)
              , max(is_have_call_num) as is_have_call_num -- 1代表已电联(只要拨打就算（只要存在就可以）)电联表都是已电
              , max(is_gt6_seconds)   as is_gt6_seconds   -- 1代表接通超过6秒(拨打电话且接通超过6秒的电话量（取通话时间最长）)
              , max(is_performance)   as is_performance   --是否履约(电联履约和轨迹履约)1,代表履约,0代表未履约
         from (
                  select waybill_no                                                                                  -- 运单号
                       , taking_early_scansitecode                                                                   -- 最早揽收网点
                       , taking_early_scansite_name                                                                  -- 最早揽收网点名称
                       , taking_agent_name                                                                           --揽收网点对应的代理区code
                       , taking_agent_code                                                                           --揽收网点对应的代理区名称
                       , taking_fran_code                                                                            --揽收网点对应的加盟商code
                       , taking_fran_name                                                                            --揽收网点对应的加盟商名称
                       , taking_provider_id                                                                          --揽收网点对应的省id
                       , taking_provider_desc                                                                        --揽收网点对应的省名称
                       , taking_city_id                                                                              --揽收网点对应的城市id
                       , taking_city_desc                                                                            --揽收网点对应的城市名称
                       , sign_early_scansitecode                                                                     -- 第一次签收网点code
                       , sign_early_scansite_name                                                                    -- 第一次签收网点名称
                       , sign_agent_name                                                                             --签收网点对应的代理区code
                       , sign_agent_code                                                                             --签收网点对应的代理区名称
                       , sign_fran_code                                                                              --签收网点对应的加盟商code
                       , sign_fran_name                                                                              --签收网点对应的加盟商名称
                       , sign_provider_id                                                                            --签收网点对应的省id
                       , sign_provider_desc                                                                          --签收网点对应的省名称
                       , sign_city_id                                                                                --签收网点对应的城市id
                       , sign_city_desc                                                                              --签收网点对应的城市名称
                       , deliver_early_scansitecode                                                                  -- 第一次派件网点code
                       , deliver_early_scansite_name                                                                 -- 第一次派件网点名称                                                            -- 第一次派件网点code
                       , customer_code                                                                               -- 客户编号CODE
                       , customer_name                                                                               -- 客户编号名称
                       , sign_early_scantime                                                                         -- 第一次签收时间
                       , receiver_mobile_phone                                                                       -- 收件人手机号
                       , wide_staff_no                                                                               --宽表员工编码
                       , wide_staff_name                                                                             --宽表员工名称
                       , first_value(delivery_option)
                                     over (partition by waybill_no order by call_start_time ) as delivery_option     -- 派送选项 1、派送上门  2、放驿站  3、未接
                       , first_value(delivery_staff_code)
                                     over (partition by waybill_no order by call_start_time ) as delivery_staff_code -- 派件员工编码
                       , first_value(delivery_input_time)
                                     over (partition by waybill_no order by call_start_time ) as delivery_input_time -- 入库时间
                       , first_value(staff_no)
                                     over (partition by waybill_no order by call_start_time ) as staff_no            -- 员工编号
                       , first_value(staff_name)
                                     over (partition by waybill_no order by call_start_time ) as staff_name          -- 员工名称
                       , first_value(call_start_time)
                                     over (partition by waybill_no order by call_start_time ) as call_start_time     -- 开始时间
                       , first_value(duration_seconds)
                                     over (partition by waybill_no order by call_start_time ) as duration_seconds    -- 通话时长（秒）
                       , first_value(connect_status)
                                     over (partition by waybill_no order by call_start_time ) as connect_status      -- 0未接通 1已接通本方挂断 2已接通对方挂断
                       , is_need_call_num                                                                            -- 1代表应电联量(当天签收的运单中是按需配送的 )(和订单打标拓展表join之后,所有的数据都是)
                       , is_have_call_num                                                                            -- 1代表已电联(只要拨打就算（只要存在就可以）)电联表都是已电
                       , is_gt6_seconds                                                                              -- 1代表接通超过6秒(拨打电话且接通超过6秒的电话量（取通话时间最长）)
                       , is_performance
                       --是否履约(电联履约和轨迹履约)1,代表履约,0代表未履约
                  from jms_dm.dm_cusc_demand_sign_taking_call_detail_dt
                  where dt = '{{ execution_date | cst_ds }}'
                  and sign_early_scantime is not null
              ) t
         group by waybill_no                  -- 运单号
                , taking_early_scansitecode   -- 最早揽收网点
                , taking_early_scansite_name  -- 最早揽收网点名称
                , taking_agent_name           --揽收网点对应的代理区code
                , taking_agent_code           --揽收网点对应的代理区名称
                , taking_fran_code            --揽收网点对应的加盟商code
                , taking_fran_name            --揽收网点对应的加盟商名称
                , taking_provider_id          --揽收网点对应的省id
                , taking_provider_desc        --揽收网点对应的省名称
                , taking_city_id              --揽收网点对应的城市id
                , taking_city_desc            --揽收网点对应的城市名称
                , sign_early_scansitecode     -- 第一次签收网点code
                , sign_early_scansite_name    -- 第一次签收网点名称
                , sign_agent_name             --签收网点对应的代理区code
                , sign_agent_code             --签收网点对应的代理区名称
                , sign_fran_code              --签收网点对应的加盟商code
                , sign_fran_name              --签收网点对应的加盟商名称
                , sign_provider_id            --签收网点对应的省id
                , sign_provider_desc          --签收网点对应的省名称
                , sign_city_id                --签收网点对应的城市id
                , sign_city_desc              --签收网点对应的城市名称
                , deliver_early_scansitecode  -- 第一次派件网点code
                , deliver_early_scansite_name -- 第一次派件网点名称
                , customer_code               -- 客户编号CODE
                , customer_name               -- 客户编号名称
                , sign_early_scantime         -- 第一次签收时间
                , receiver_mobile_phone       -- 收件人手机号
                , wide_staff_no               --宽表员工编码
                , wide_staff_name             --宽表员工名称
                , delivery_option             -- 派送选项 1、派送上门  2、放驿站  3、未接
                , delivery_staff_code
                , staff_no                    -- 员工编号
                , staff_name                  -- 员工名称
                , call_start_time             -- 开始时间
                , delivery_input_time         -- 入库时间
                , duration_seconds            -- 通话时长（秒）
                , connect_status -- 0未接通 1已接通本方挂断 2已接通对方挂断
     ) t
    DISTRIBUTE BY dt
;